500 REM-DATAFILE 3.3 SUBPROGRAM DFREPORT BY MIKE KONSHAK (C)1983 502 IFX=0THENPRINT" PLEASE LOAD AND RUN DATAFILE[146]":END 504 OPEN4,4:IFPW=0THENPW=80 506 GOSUB4000:GOTO614 508 REM----SUBPROGRAMS 510 PRINT"[147] LOADING MAIN PROGRAM" 512 LOAD"DATAFILE",8 514 PRINT"[147] LOADING MAILING LABEL SUBPROGRAM" 516 LOAD" DFMAIL",8 518 REM----QUIT ROUTINE 520 PRINT"[147]QUITING NOW WILL ERASE CURRENT DATA" 522 PRINT"ARE YOU SURE YOU WANT TO QUIT?":PRINT" Y[146] OR N[146] ? 524 [161]A$:[139]A$[178]"" [167]524 526 [139]A$[178]"N"[167]614 528 [139]A$[178]"Y"[167]532 530 [137]524 532 [160]4:[153]"LOADSUBPROGRAM TERMINATED" 534 [153]"DATAFILEWAIT BY MIKE KONSHAK (C)1983":[128] 536 [143]----SEARCH 538 A0[178]0:[153]"LOAD  PRINT OPTIONS MENU " 540 [153]" AWAITLL RECORDS IN FILE 542 PRINT" S[146]ELECT INDIVIDUAL RECORDS 544 [153]" FWAITIND RECORDS WITH COMMON FIELDS 546 PRINT" E[146]XIT TO MAIN MENU 548 [153]"POSITION PAPER IN PRINTER AT TOP OF PAGE" 550 [153]"PRINTER MAY STOP DURING PRINTING IF THE" 552 [153]"COMPUTER NEEDS TO REALLOCATE MEMORY." 554 [153]"  PRESS THE APPROPRIATE KEY " 556 [161]C$:[139]C$[178]"" [167]556 558 [139]C$[178]"A"[167]606 560 [139]C$[178]"S"[167]FL[178]0:[137]570 562 [139]C$[178]"F"[167]580 564 [139]C$[178]"E"[167]614 566 [137]556 568 [143]----SELECT RECORD 570 [133]"LOADPRINT WHICH RECORD (0WAIT TO EXIT)";I$:I[178][197](I$):[139]I[178]0[167]890 572 [139]I[177]X[167][153]"NO SUCH RECORD EXISTS!ONONON":[129]S[178]1[164]1000:[130]S:[137]570 574 [139]K[178]2[175]FL[178]0[167][141]810:[141]824:[141]842:[141]888:FL[178]1:[137]570 575 [139]K[178]2[175]FL[178]1[167][141]842:[141]888:[137]570 576 [141]798:[141]4034:[137]538 578 [143]----SEARCH 580 [153]"LOAD  FIND RECORDS WITH COMMON ITEMS " 582 [129] N[178]1[164]F:[153]" ";N;"WAIT ";F$(N):[130]N 584 [133]"WHICH FIELD IS TO BE SEARCHED";SF 586 [139]SF[179]0[176]SF[177]F[167][153]"ONONON":[137]584 588 [153]"ENTER COMMON ITEMWAIT ":[153]"(THE ENTIRE STRING IS NOT REQUIRED)" 590 [153]"";F$(SF);"WAIT ";:[133]T$ 592 [139]K[178]2[167][141]810:[141]824 594 [129]I[178]1[164]X 596 [153]"SEARCHING RECORD";I;"ONON" 598 [139]T$[178][200](REC$(K%(I),SF),[195](T$))[167][145]K[141]798,842:[141]888 600 [130]I 602 [137]890 604 [143]----PRINT ALL 606 [133]"LOAD START AT RECORD? 1CMDCMDCMD";S:[139]S[177]X[176]S[179]1[167]606 607 [153]"LOAD PRINTING HEADING":[139]K[178]2[167][141]810:[141]824 608 [129]I[178]S[164]X:[153]"ON PRINTING RECORD #";I:[145]K[141]798,842:[141]888:[130]I 610 [137]890 612 [143]----PRINT RECORDS MENU 614 [153]"LOAD  REPORT PRINTOUT MENU " 616 [153]" LWAITIST RECORDS UNFORMATTED" 618 [153]" PWAITRE-DEFINED FORMAT OR" 620 [153]" DWAITEFINE NEW FORMAT" 621 [153]" CWAITONFIGURE PRINTER" 622 [153]" EWAITXIT TO MAIN PROGRAM OR" 624 [153]" MWAITAILING LABEL PROGRAM" 626 [153]" QWAITUIT PROGRAM" 628 [153]"  PRESS THE APPROPRIATE KEY " 630 [161]C$:[139]C$[178]"" [167]630 632 [139]C$[178]"L"[167]K[178]1:[137]538 633 [139]C$[178]"C"[167][141]4000:[137]614 634 [139]C$[178]"P"[167]K[178]2:[137]766 636 [139]C$[178]"E"[167][160]4:[137]510 638 [139]C$[178]"M"[167][160]4:[137]514 640 [139]C$[178]"D"[167]K[178]2:[137]646 642 [139]C$[178]"Q"[167]520 644 [137]630 646 [153]"LOADREPORT SIZEWAIT UP TO 136 CHARACTER WIDE." 648 [153]"PRINTER MUST BE INITIALIZED FOR WIDTHS" 650 [153]"GREATER THAN 80 CHARACTERS. CHECK YOUR" 652 [153]"PRINTER MANUAL TO HOW TO PRINT 136 CHRS" 654 [153]"NUMBER OF CHARACTERS?":[153]"? CMDCMDCMD";PW:[133]"ON";PW 656 [139]PW[177]136[167]654 658 [153]"LOADTITLE FORMATWAIT UP TO 4 TITLE LINES OF" 660 [153]"INFORMATION AT THE TOP OF THE FORM." 662 [153]"NUMBER OF LINES?":[153]"? CMDCMDCMD";NL:[133]"ON";NL:[139]NL[177]4[167]662 664 [129]J[178]1[164]NL:[153]"TITLE #";J:[153]"? > CMDCMDCMD";TT$(J) 666 [139][195](TT$(J))[177]37[167][153]"ON"; 668 [133]"ON";TT$(J):[139]TT$(J)[178]""[167]TT$(J)[178]">" 670 [130]J 672 [153]"LOADCOLUMN FORMATWAIT UP TO 8 COLUMNS WITH 2":[153]"SPACES BETWEEN COLUMNS" 674 [153]"NUMBER OF COLUMNS?":[153]"? CMDCMDCMD";NC:[133]"ON";NC:[139]NC[177]8[167]674 676 [129]J[178]1[164]NC:[153]"POSITION OF COLUMN #";J:[153]"? CMDCMDCMD";PC(J) 678 [133]"ON";PC(J):[130]J 680 [153]"LOADHEADING FORMATWAIT COLUMN HEADINGS CANNOT" 682 [153]"EXCEED WIDTH OF COLUMNS:" 684 [129]J[178]1[164]NC:[153]"COLUMN";J;" HEADING"; 686 [139]J[178]NC[167][153]80[171]PC(J);:[137]690 688 [153]PC(J[170]1)[171]2[171]PC(J); 690 [153]" CHARACTERS WIDE" 692 [153]"? > CMDCMDCMD";HC$(J):[133]"ON";HC$(J):[139]HC$(J)[178]""[167]HC$(J)[178]">" 694 [130]J 696 [153]"LOADCHOOSE WHICH FIELDS GO UNDER THE COLUMNS" 698 [153]"ENTER 0WAIT IF ADDITIONAL FIELDS ARE":[153]"NOT DESIRED." 700 [129]N[178]1[164]F:[153]"";N;"WAIT ";F$(N):[130]N 702 [129]J[178]1[164]NC:[153]"";[163]25)"COLUMN";J;"" 704 [129]L[178]1[164]3:[153][163]25)"ONFIELD";L;" 0 CMDCMD";ML$(J,L) 706 [153][163]32);"ON";:[133]ML$(J,L):[130]L:[130]J 708 [153]"LOADDO YOU WISH TO SUM THE DATA IN COLUMN"[170][196](NC)[170]"?" 709 [153]"THIS COLUMN MUST ONLY BE FORMATTED WITH" 710 [153]"ONLY ONE FIELD. ENTER 1WAIT (YES) OR 0WAIT (N0)" 711 [153]"?";Z:[133]"ON";Z 712 [153]"LOADDO YOU WISH TO REVIEW YOUR FORMAT AND/OR" 714 [153]"MAKE CORRECTIONS? PRESS YWAIT OR NWAIT" 716 [161]A$:[139]A$[178]""[167]716 718 [139]A$[178]"Y"[167]646 720 [139]A$[178]"N"[167]726 722 [137]716 724 [143]----SAVE FORMAT 726 [153]" SAVE FORMATWAIT? YWAIT OR NWAIT" 728 [161]A$:[139]A$[178]""[167]728 730 [139]A$[178]"N"[167]538 732 [139]A$[178]"Y"[167]736 734 [137]728 736 [153]"SAVE UNDER WHAT FILE NAME?" 738 [153]" ";NF$:[133]"ON";NF$:[139]NF$[178]""[167]614 740 [159]15,8,15:[152]15,"S0:RP] "[170]NF$:[141]876:[139]ET[178]8[167]614 742 [159]5,8,5,"0:RP] "[170]NF$[170]",S,W":[141]876:[139]ET[178]8[167]614 744 [152]5,PW;CR$;NL;CR$;NC:[141]876:[139]ET[178]8[167]614 746 [129]J[178]1[164]NL 748 [152]5,TT$(J):[141]876:[139]ET[178]8[167]614 750 [130]J 752 [129]I[178]1[164]NC 754 [152]5,PC(I);CR$;HC$(I):[141]876:[139]ET[178]8[167]614 756 [129]N[178]1[164]3 758 [152]5,ML$(I,N):[141]876:[139]ET[178]8[167]614 760 [130]N:[130]I:[152]5,[196](Z);CR$;E$:[141]876:[139]ET[178]8[167]614 762 [160]5:[160]15:[137]538 764 [143]----LOAD FORMAT 766 [153]"LOAD FORMAT FROM WHAT FILE?" 768 [153]" ";NF$:[133]"ON";NF$:[139]NF$[178]""[167]614 770 [159]15,8,15:[159]5,8,5,"0:RP] "[170]NF$[170]",S,R":[141]876:[139]ET[178]8[167]614 771 [139]EN[178]62[167][141]878:[137]614 772 [132]5,PW,NL,NC:[141]876:[139]ET[178]8[167]614 774 [129]J[178]1[164]NL 776 [132]5,TT$(J):[141]876:[139]ET[178]8[167]614 778 [130]J 780 [129]I[178]1[164]NC 782 [132]5,PC(I),HC$(I):[141]876:[139]ET[178]8[167]614 784 [129]N[178]1[164]3 786 [132]5,ML$(I,N):[141]876:[139]ET[178]8[167]614 788 [130]N:[130]I:[132]5,A1$:Z[178][197](A1$) 790 S[178]ST:[139]S[179][177]0[167]794 792 [132]5,E$ 794 [160]5:[160]15:[137]712 796 [143]----PRINT NONFORMATTED LISTING 798 [152]4,"[ RECORD #";I;" ]";:[129]J[178]1[164]62:[152]4,"-";:[130]J:[141]4034 800 [129]N[178]1[164]F 802 [152]4,F$(N);:[129]J[178]1[164]20[171][195](F$(N)):[152]4,".";:[130]J 804 [152]4,REC$(K%(I),N) 806 [130]N:[141]4034:[142] 808 [143]----PRINT REPORT 810 PG[178]0:S$[178]"":[129]J[178]1[164]PW:S$[178]S$[170]B$:[130]J 812 [129]J[178]1[164]NL:[139]TT$(J)[179][177]">"[167][141]818 814 [130]J:[142] 816 [143]----CENTER TITLE 818 B[178][181]((PW[171][195](TT$(J)))[173]2):[139]P[179][177]1[167]821 820 [152]4,[200](S$,B)[170]TT$(J);B1$;:PG[178]PG[170]1:[142] 821 [152]4,[200](S$,B)[170]TT$(J);B1$:PG[178]PG[170]1:[142] 822 [143]----POSITION HEADINGS 824 [141]838:PC(NC[170]1)[178]PW[170]3:CW[178]PC(2)[171]2[171]PC(1):[139]PC(1)[177]1[167]828 826 [152]4,[200](HC$(1),CW);:[137]830 828 [152]4,[200](S$,PC(1)[171]1)[170][200](HC$(1),CW); 830 [129]J[178]2[164]NC:M[178]PC(J)[171][195]([200](HC$(J[171]1),PC(J)[171]2[171]PC(J[171]1)))[171]PC(J[171]1) 832 [152]4,[200](S$,M)[170][200](HC$(J),PC(J[170]1)[171]2[171]PC(J)); 834 [130]J:[141]4034:[141]838:PG[178]PG[170]3:[142] 836 [143]----PRINT DASHED LINE 838 [129]J[178]1[164]PW:[152]4,"-";:[130]J:[141]4034:[142] 840 [143]----PRINT FILE DATA 842 F1[178][197](ML$(1,1)):F2[178][197](ML$(1,2)):F3[178][197](ML$(1,3)):CW[178]PC(2)[171]2[171]PC(1) 844 [139]PC(1)[177]1[167]850 846 [152]4,[200](REC$(K%(I),F1)[170]B$[170]REC$(K%(I),F2)[170]B$[170]REC$(K%(I),F3),CW); 848 [137]854 850 [152]4,[200](S$,PC(1)[171]1); 852 [152]4,[200](REC$(K%(I),F1)[170]B$[170]REC$(K%(I),F2)[170]B$[170]REC$(K%(I),F3),CW); 854 [129]J[178]2[164]NC:CW[178]PC(J)[171]2[171]PC(J[171]1) 856 F1[178][197](ML$(J[171]1,1)):F2[178][197](ML$(J[171]1,2)):F3[178][197](ML$(J[171]1,3)) 858 M[178][195]([200](REC$(K%(I),F1)[170]B$[170]REC$(K%(I),F2)[170]B$[170]REC$(K%(I),F3),CW)) 860 M[178]PC(J)[171]M[171]PC(J[171]1):CW[178]PC(J[170]1)[171]2[171]PC(J) 862 [152]4,[200](S$,M); 864 F1[178][197](ML$(J,1)):F2[178][197](ML$(J,2)):F3[178][197](ML$(J,3)) 866 [152]4,[200](REC$(K%(I),F1)[170]B$[170]REC$(K%(I),F2)[170]B$[170]REC$(K%(I),F3),CW); 868 [130]J:[141]4034:PG[178]PG[170]1 870 [139]PG[178]60[167][129]J[178]1[164]6:[141]4034:[130]J:PG[178]0:[141]824 872 [142] 874 [143]----DISK ERROR CHECK 876 [132]15,EN,EM$,ET,ES:[139](EN[179]20)[176](EN[178]62)[167]ET[178]0:[142] 878 [153]" DISK ERRORWAIT"EN"CMD, "EM$","ET"CMD,"ES 880 [153]" PRESS ANY KEYWAIT TO RETURN TO MENU" 882 [161]A$:[139]A$[178]""[167]882 884 ET[178]8:[160]5:[160]15:[142] 886 [143]----ADD LAST COLUMN 888 [139]Z[179][177]1[167][142] 889 A0[178]A0[170][197](REC$(K%(I),[197](ML$(NC,1)))):[142] 890 [139]Z[179][177]1[167][141]4034:[137]538 892 [152]4,[200](S$,PC(NC)[171]1); 894 [129]I[178]1[164]PW[171]PC(NC)[170]1:[152]4,"-";:[130]I:[141]4034 896 [152]4,[200](S$,PC(NC)[171]9)[170]"TOTAL= "[170][196](A0) 898 [141]4034:[137]538 3998 [143]----SETUP FOR PRINTER 4000 [153]"LOAD  DATAFILE REPORTS PROGRAM " 4002 [153]"  PRINTER OR INTERFACE CONFIGURATION " 4004 [153]" PRESS 1WAIT CARD?A, 1525, MPS801 4006 PRINT" 2[146] CARD?B, TYMAC CONNECTION" 4008 PRINT" 3[146] 1526" 4010 IFP<>0THENPRINT" OR S[146]END PRINTER COMMANDS" 4012 IFP<>OTHENPRINT" E[146]XIT TO START" 4014 PRINT"  PRESS THE APPROPRIATE KEY " 4016 GETA$:IFA$=""THEN4016 4018 IFA$="E"THENRETURN 4020 IFA$="S"THEN4044 4022 P=VAL(A$) 4024 IFP=1THENB1$=CHR$(10):GOTO4000 4026 IFP=2THENB1$=CHR$(0):GOTO4000 4028 IFP=3THENB1$=CHR$(0):GOTO4000 4030 GOTO4016 4032 REM----PRINT TERMINATOR 4034 ONPGOTO4036,4038,4040 4036 PRINT#4,B1$;:RETURN 4038 PRINT#4,B1$:RETURN 4040 PRINT#4:RETURN 4042 REM----PRINTER COMMANDS 4044 PRINT"[147]  SEND PRINTER COMMAND [146]" 4086 PRINT" ENTER CODE, THEN PRESS RETURN[146]" 4088 PRINT" RETURN[146] ONLY TO QUIT" 4090 FORI=1TO4:PRINT"CODE";I;" ? * [157][157][157][157]";:INPUTI$(I) 4092 IFI$(I)="*"THEN4096 4094 NEXTI 4096 ON(I-1)GOTO4098,4100,4102,4104:GOTO4106 4098 PRINT#4,CHR$(VAL(I$(1))):GOTO4106 4100 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2))):GOTO4106 4102 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3))):GOTO4106 4104 PRINT#4,CHR$(VAL(I$(1)))CHR$(VAL(I$(2)))CHR$(VAL(I$(3)))CHR$(VAL(I$(4))) 4106 PRINT" A[146]NOTHER CODE" 4108 PRINT" T[146]EST PRINTER" 4110 PRINT" E[146]XIT TO PRINT" 4112 PRINT"  PRESS THE APPROPRIATE KEY " 4114 GETA$:IFA$=""THEN4114 4116 IFA$="A"THEN4044 4118 IFA$="T"THENPRINT#4,"ABCDEFGHIJKLMNOPQRSTUVWXYZ":GOTO4114 4120 IFA$="E"THENRETURN 4122 GOTO4114